Transmission of digital data using serial communications is a long established practice in the art of data communication. With the advent of the digital computer, and specifically personal computers, the use of serial communications has become commonplace. Personal computers use serial communication to drive peripheral devices, such as printers, plotters, modems, and page scanners, via serial output ports located on each computer. The RS-232 standard, defined by specification EIA-232-D, is the predominant standard by which serial communication is performed using a personal computer. Hence, many personal computers contain at least one RS-232 serial port, wired in a data terminal equipment (DTE) configuration, for communication with peripheral devices containing an RS-232 serial port wired in a data circuit-terminating equipment (DCE) configuration. A difference between the DTE and DCE configurations is a result of reversing a data receive line (also known as an RD line or an RXD line) with a data transmit line (also known as a TD line or a TXD line).
In many industrial applications, the monitoring and recording of measurements made from electronic instrumentation devices are of interest. Such electronic instrumentation devices include digital voltmeters, ammeters, power meters, pressure meters, flow meters, and thermometers. To facilitate the use of computers to automatically monitor, record, and process measurements, many electronic instrumentation devices have incorporated RS-232 serial ports therein to enable data to be transferred to a computer.
Although the RS-232 protocol has been favorably employed for interfacing conventional peripheral devices to computers, its scope of application is limited by its inherent design for communication between a single sending device and a single receiving device, namely, a single computer and a single peripheral device. Therefore, an unaccompanied use of a single RS-232 port presents an obstacle in applications where a large number of peripheral devices are to be interfaced to the computer, such as a power plant or any general process control application wherein many instrumentation devices are to be monitored.
One method of interfacing a plurality of peripheral devices to a single RS-232 port on a computer is by wiring, in parallel, the RS-232 ports on the peripheral devices to the RS-232 port on the computer. Although parallel wiring does allow the same serial data to be sent to the plurality of peripheral devices, difficulties arise when the peripheral devices attempt to transmit data to the computer. Moreover, damage to either a peripheral device or the computer can result when two peripheral devices simultaneously attempt to impress different voltages on the same parallel-wired line.
An improved approach to handling data from multiple RS-232 devices is to employ one RS-232 computer port for each device. Many personal computers have software provision for four serial ports (COM1, COM2, COM3, and COM4), although only two of these ports have operating-system-specified software interrupts. Hence, when using an unmodified, off-the-shelf personal computer, this approach is currently limited to applications having no greater than four peripheral devices.
Another approach is to install a multi-port expansion board in an internal computer slot. In currently-available multi-port expansion boards, the number of serial ports can be extended up to eight. However, the multi-port board approach suffers in that the number of peripheral devices is limited to the number of output ports on the board. This limitation is significant in applications such as power plant monitoring, where the number of devices that need to be accessed can be more than a dozen, with 16 or 32 peripheral devices being common.
A more flexible method for communication between a single computer port and many remote peripheral devices is based on a serial communication standard defined by EIA specification RS-485. The RS-485 standard utilizes tri-state outputs on the sending units of each remote device, in other words, each device output is either high, low, or off. When the computer needs to exchange data with a specific device, the computer first sends an address for a selected peripheral device of interest on a transmit line of the computer. To be RS-485 compatible, each peripheral device must have inherent addressing circuitry so that it can recognize its own address code. Typically, the individual address code for each peripheral device is set by the positions of a number of DIP switches on the device. After the selected peripheral device has recognized that its address code was sent on the transmit line of the computer, the device activates its output and seizes a receive line of the computer. When the receive line of the computer is seized, other devices on the system must release the receive line of the computer by putting their respective device output in the off state to avoid incapacitating any messages sent from the addressed device. All devices that are not sending data to the computer must be in the off state so that there is no contention for the computer's receive line. A shortcoming of the RS-485 protocol is that if identical address codes are assigned to more than one remote device, the possibility exists of a system malfunction caused by two devices forcing two different voltage levels on the receive line of the computer. Moreover, many peripheral devices are not equipped to communicate using the RS-485 standard.
A method of providing parallel communications between a computer and a plurality of peripheral devices employs the IEEE-488 interface bus. IEEE-488 has been applied to a wide variety of conventional peripherals, such as disk drives, printers, and plotters, along with programmable instrumentation devices such as data recorders, oscilloscopes, and digital voltmeters. Hewlett-Packard has combined the IEEE-488 standard with a communication system that allows devices on the IEEE-488 bus to communicate with one another, the combination being known as HPIB. However, the HPIB interface is currently limited to no more than 15 devices being connected in parallel on an HPIB bus.
Another method of providing parallel communications between a computer and a plurality of peripheral devices employs a Small Computer Systems Interface (SCSI). SCSI was developed by the American National Standards Institute (ANSI) in response to a need for a sophisticated, high-speed parallel interface capable of serving multiple intelligent peripheral devices. A SCSI bus is designed to support up to eight devices (including the computer) with up to 2,048 addressable units per device. Data may be transferred using SCSI not only to and from the host computer, but between peripheral devices as well. A shortcoming of SCSI is in its general unavailability as an option for instrumentation devices. Further, the cost of providing the intelligence mandated by the SCSI protocol can be prohibitive for some applications.